﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using Storm.Docking;
using Storm.Docking.Controls;
using Storm.Docking.Controls.Float;
using Storm.Docking.Visual;
using Storm.Docking.Visual.Drawing;
using Storm.Docking.Visual.Glyphs;

namespace Storm.Docking.Controls
{
	public class DockEventArgs
		: EventArgs
	{
		#region Fields

		private DockPanel dockPanel;
		private DockStyle dockStyle = DockStyle.None;

		#endregion

		#region Properties

		/// <summary>
		/// Gets or sets the DockPanel associated with the DockEventArgs.
		/// </summary>
		public DockPanel DockPanel
		{
			get { return dockPanel; }
			set { dockPanel = value; }
		}

		/// <summary>
		/// Gets or sets the DockStyle associated with the DockEventArgs.
		/// </summary>
		public DockStyle DockStyle
		{
			get { return dockStyle; }
			set { dockStyle = value; }
		}

		#endregion

		/// <summary>
		/// Initializes a new instance of the <see cref="DockEventArgs"/> class.
		/// </summary>
		public DockEventArgs()
		{
		}

		/// <summary>
		/// Initializes a new instance of the <see cref="DockEventArgs"/> class.
		/// </summary>
		/// <param name="dockPanel">The dock panel.</param>
		/// <param name="dockStyle">The dock style.</param>
		public DockEventArgs(DockPanel dockPanel, DockStyle dockStyle)
		{
			this.dockPanel = dockPanel;
			this.dockStyle = dockStyle;
		}
	}

	public delegate void DockEventHandler(object sender, DockEventArgs e);
}
